//Copyright 2012 Trevin Liberty
//GNU GPL v3
//Author: Trevin Liberty

#ifndef STRUCTS_H
#define STRUCTS_H

#include <allegro5\allegro.h>
#include <allegro5\allegro_primitives.h>
#include <allegro5\allegro_image.h>

#include <math.h>
#include <list>

using std::list;

class Doohickey;
class MovingSprite;

struct bitmapImage {
	ALLEGRO_BITMAP* image;
	int sizeX;
	int sizeY;
};

struct imageArray {
	bitmapImage* images;
	int arraySize;
};

struct mapCell {
	char base;
	char fringe;
	char objectType;
	bool walkable;
	short int cost;

	short int x;
	short int y;

	Doohickey* doohickey;
	MovingSprite* object;
};

struct Map{
	mapCell*** mapArray;
	int tileSize;
	int numTilesX;
	int numTilesY;
};

struct PlayerResources {
	int gold;
	int kills;
	int deaths;
};

#endif